package com.zbkj.service.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.zbkj.common.model.product.ProductLibrary;
import com.zbkj.common.request.PageParamRequest;
import com.zbkj.common.request.ProductLibraryBatchAddRequest;
import com.zbkj.common.request.ProductLibraryRequest;
import com.zbkj.common.request.ProductLibrarySearchRequest;
import com.zbkj.common.response.*;

import java.util.List;

/**
* @author dazongzi
* @description ProductLibraryService 接口
* @date 2025-06-05
*/
public interface ProductLibraryService extends IService<ProductLibrary> {
    /**
     * 加入产品库
     * @param request 添加参数
     * @return
     */
    ProductLibraryIdResponse add(ProductLibraryRequest request);

    List<ProductLibrary> getAdminListBrand(ProductLibrarySearchRequest request);

    List<ProductLibrarySelectedCategoryResponse> getSelectedCategoryList(ProductLibrarySearchRequest request, PageParamRequest pageParamRequest);

    List<ProductLibrarySelectedMerchantResponse> getSelectedMerchantList(ProductLibrarySearchRequest request, PageParamRequest pageParamRequest);

    List<ProductLibrarySelectedProductResponse> getSelectedProductList(ProductLibrarySearchRequest request, PageParamRequest pageParamRequest);

    List<ProductLibrarySelectedBrandResponse> getSelectedBrandList(ProductLibrarySearchRequest request, PageParamRequest pageParamRequest);

    List<Integer> getAllSelectedList(ProductLibrarySearchRequest request, PageParamRequest pageParamRequest);

    boolean batchAdd(ProductLibraryBatchAddRequest request);
}